Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: top of block auction and block-sdk integration #8058

Merged
merged 20 commits into from
Apr 26, 2024

Conversation

PaddyMc
Copy link
Collaborator

@PaddyMc PaddyMc commented Apr 16, 2024

Closes: #8062

In This PR

  • This PR is based on the block-sdk integration
  • The files relevant for review are in /app/upgrades/v25
  • I set the default parameters of the auction module here
    • Happy to change these as necessary, of specific relevance would be
    1. MinReserveFee - The minimum amount you need to outbid the highest bid (think of as a spam prevention)
    2. AuctionReserveFee - The minimum amount an address can bid (as an sdk.Coin)
    3. EscrowAddress - The address to which the auction revenue less proposer fee should go
    4. ProposerFee - What % of auction revenue should go to a proposer (currently 20%)

adds to this PR => skip-mev#2

🤜 🤛 From Skip!

In This PR

  • I integrate the block-sdk
    • I integrate the mev, free, default lanes (ordered accordingly) into the LaneMempool which will be used as the app's Mempool
    • I integrate the Prepare / ProcessProposal handlers and custom CheckTx handler
    • Modules
      • I integrate the x/auction module, and the corresponding AnteHandler for the auction module
    • I integrate the ante.IgnoreDecorator with the freeLane, and the DeductFees ante-handler: this will skip the DeductFees ante-handler for any txs that originate from the freeLane

Testing

  • We've tested this integration against our own set of load-tests. These tests, spin up a network of 5 nodes (3 val, 1 seed, 1 full). Perform various perturbations against them (killing, restarting, disconnecting from the network, etc.), and periodically send a load of 350 tx/sec for 90s. The output from one of our trials is here, happy to go through these in more depth / review the methodology.
  • In order for the e2e tests to work, I had to modify the ante_no_seq ante-handlers to ignore signature verification, while incrementing sequence #s, I leave a comment in the section describing why.

Let's Discuss

  • I chose to use stable defaults here (tx-capacity of each lane) and here (block-space allocated to each lane), let me know if any of the parameters are confusing or should be changed
  • regarding the auction-module
    • I imagine that the full integration requires the v23 upgrade-handler (store-migration, genesis-state / parameters, etc.), I am happy to implement those as a separate PR if that is desired
    • Auction module's parameters are here, take a look at these or we can go ahead w/ the defaults, some things to consider
      • What denomination would we like the auction to accept (there can only be a single denom accepted)
      • What would be the desired max bundle size (maximal # of txs that a bid can include)
      • What address would we like the auction revenue to be sent to? How much of it should we give to proposers?
  • re the free-lane: We currently are matching the distributiontypes.WithdrawDelegatorRewards tx, the process of adding more txs to this lane is simple, we just need to identify which types we want!

Summary by CodeRabbit

  • New Features

    • Integrated block SDK and auction module antehandlers for enhanced transaction handling.
    • Added new lane configurations (MEV, Free, Default) to optimize transaction processing based on block space usage.
    • Introduced auction functionality with specific configuration parameters.
  • Refactor

    • Modified antehandlers to include new decorators and sequence adjustments for improved transaction verification.
  • Chores

    • Updated constants and parameters related to auctions in the system configuration.
  • Documentation

    • Updated CHANGELOG.md with details on recent significant changes and module integrations.
  • Tests

    • Added tests to ensure auction parameters are correctly set after system upgrades.

Copy link
Contributor

coderabbitai bot commented Apr 16, 2024

Walkthrough

This update integrates the block SDK and auction modules into the Osmosis application, enhancing transaction handling through new ante handlers and lane configurations. It also introduces auction functionality and adjusts the app structure to accommodate these new features, ensuring efficient transaction categorization and handling.

Changes

Files Change Summary
app/ante.go, app/ante_no_seq.go Added block SDK and auction module configurations, replaced SigVerificationDecorator with IncrementSequenceDecorator, and added new decorators for auctions and block SDK.
app/app.go, app/keepers/..., app/modules.go, app/lanes.go Expanded app structure with new handlers, keepers for auction, and lane configurations for transaction handling.
app/upgrades/v25/... Added constants and upgrade logic for auction parameters and block SDK integration.
CHANGELOG.md Documented major integrations and changes including block SDK and auction module.

Assessment against linked issues

Objective Addressed Explanation
Merge top of block auction PR into block-sdk (Issue #8062)

Poem

🐰✨
In the world of code where logic is king,
A rabbit hopped in with a new thing to bring:
Auctions and lanes, oh what a sight,
With SDK blocks, we code through the night!
Let's celebrate the changes, hip hip hooray,
For better transactions, we've found a new way!
🌟🐇


Recent Review Details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits Files that changed from the base of the PR and between 31d4eff and 3200923.
Files selected for processing (5)
  • CHANGELOG.md (1 hunks)
  • app/ante_no_seq.go (5 hunks)
  • app/keepers/keepers.go (5 hunks)
  • app/upgrades/v25/upgrades.go (1 hunks)
  • app/upgrades/v25/upgrades_test.go (2 hunks)
Files skipped from review due to trivial changes (1)
  • app/keepers/keepers.go
Files skipped from review as they are similar to previous changes (2)
  • app/upgrades/v25/upgrades.go
  • app/upgrades/v25/upgrades_test.go
Additional comments not posted (2)
app/ante_no_seq.go (2)

78-82: Integration of auctionante.NewAuctionDecorator appears correctly implemented.

Ensure that the auction module's integration is tested thoroughly, especially with respect to the mevLane and txConfig.TxEncoder() functionalities.


Line range hint 58-82: The classic signature verification flow and the new auction decorator are well integrated. However, ensure that the transition between these flows is seamless and does not introduce any unintended side effects.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the C:app-wiring Changes to the app folder label Apr 16, 2024
Copy link
Contributor

Important Notice

This PR modifies an in-repo Go module. It is one of:

  • osmomath
  • osmoutils
  • x/ibc-hooks
  • x/epochs

The dependent Go modules, especially the root one, will have to be
updated to reflect the changes. Failing to do so might cause e2e to fail.

Please follow the instructions below:

  1. Open https://github.com/osmosis-labs/osmosis/actions/workflows/go-mod-auto-bump.yml
  2. Provide the current branch name
  3. On success, confirm if an automated commit corretly updated the go.mod and go.sum files

Please let us know if you need any help.

@PaddyMc PaddyMc added the V:state/breaking State machine breaking PR label Apr 16, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Actionable comments outside the diff hunks (9)
CHANGELOG.md (9)

Line range hint 322-322: Correct the heading punctuation.

-## [v4.0.0]
+## v4.0.0

Line range hint 585-585: Convert the bare URL to a markdown link for better readability.

- https://github.com/osmosis-labs/osmosis/blob/v5.x/networks/osmosis-1/upgrades/v5/guide.md
+ [here](https://github.com/osmosis-labs/osmosis/blob/v5.x/networks/osmosis-1/upgrades/v5/guide.md)

Line range hint 643-643: Convert the bare URL to a markdown link for better readability.

- https://github.com/osmosis-labs/bech32-ibc/
+ [Bech32IBC](https://github.com/osmosis-labs/bech32-ibc/)

Line range hint 983-983: Ensure heading levels increment by one level at a time.

- #### [v6.4.0]
+ ### [v6.4.0]

Line range hint 995-995: Ensure heading levels increment by one level at a time.

- #### [v6.3.1]
+ ### [v6.3.1]

Line range hint 1004-1004: Ensure heading levels increment by one level at a time.

- #### [v6.3.0]
+ ### [v6.3.0]

Line range hint 1009-1009: Ensure heading levels increment by one level at a time.

- #### [v6.2.0]
+ ### [v6.2.0]

Line range hint 1061-1061: Ensure heading levels increment by one level at a time.

- #### [v6.1.0]
+ ### [v6.1.0]

Line range hint 1224-1224: Ensure there are no empty links in the document.

- [here]()
+ [here](https://example.com)  # Please replace 'https://example.com' with the actual URL.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

app/ante_no_seq.go Outdated Show resolved Hide resolved
@PaddyMc PaddyMc force-pushed the feat/top-of-block-auction branch from 492f850 to e37caae Compare April 17, 2024 10:25
@PaddyMc PaddyMc force-pushed the feat/top-of-block-auction branch from e37caae to d35fe80 Compare April 17, 2024 10:43
@@ -1,4 +1,6 @@
go 1.21
go 1.21.4
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needed to upgrade to this version because of the block-sdk see:

https://github.com/skip-mev/block-sdk/blob/v1.4.0/go.mod#L3-L5

app/ante_no_seq.go Outdated Show resolved Hide resolved
appKeepers.BankKeeper,
appKeepers.DistrKeeper,
appKeepers.StakingKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rewards go to the gov module address 👀

Copy link
Collaborator Author

@PaddyMc PaddyMc Apr 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comment incorrect, it uses a function to send rewards to validators

https://github.com/skip-mev/block-sdk/blob/main/x/auction/rewards/proposer_provider.go#L29-L41

app/lanes.go Outdated Show resolved Hide resolved
app/upgrades/v25/constants.go Show resolved Hide resolved
app/upgrades/v25/constants.go Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Actionable comments outside the diff hunks (1)
CHANGELOG.md (1)

Line range hint 1225-1225: Ensure there are no empty links in the document.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Actionable comments outside the diff hunks (3)
CHANGELOG.md (3)

Line range hint 989-1015: Correct heading levels to increment by one level at a time.

-#### Golang API breaks
+### Golang API breaks
-#### Bug Fixes
+### Bug Fixes
-#### Features
+### Features
-#### SDK fork updates
+### SDK fork updates
-#### IAVL fork updates
+### IAVL fork updates

Line range hint 591-649: Provide descriptive text for bare URLs to improve readability and accessibility.

-https://github.com/osmosis-labs/osmosis/releases/tag/v1.0.0-rc0
+[Initial Release](https://github.com/osmosis-labs/osmosis/releases/tag/v1.0.0-rc0)
-https://github.com/osmosis-labs/osmosis/releases/tag/v1.0.1
+[This release fixes a bug in `osmosisd version` always displaying 0.0.1.](https://github.com/osmosis-labs/osmosis/releases/tag/v1.0.1)

Line range hint 1230-1230: Remove or provide a valid URL for the empty link.

-[null](#)
+[Provide a valid link or remove this entry.](#)

CHANGELOG.md Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Actionable comments outside the diff hunks (8)
CHANGELOG.md (8)

Line range hint 325-325: Correct the heading punctuation.

-## v6.4.0
+## v6.4.0.

Line range hint 588-588: Convert the bare URL to a markdown link for better readability.

-https://github.com/osmosis-labs/bech32-ibc/
+[Bech32IBC](https://github.com/osmosis-labs/bech32-ibc/)

Line range hint 646-646: Convert the bare URL to a markdown link for better readability.

-https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0
+[SDK v0.43.0 Release Notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0)

Line range hint 986-986: Ensure heading levels increment by one level at a time.

-#### Golang API breaks
+### Golang API breaks

Line range hint 998-998: Ensure heading levels increment by one level at a time.

-#### Bug Fixes
+### Bug Fixes

Line range hint 1007-1007: Ensure heading levels increment by one level at a time.

-#### Features
+### Features

Line range hint 1012-1012: Ensure heading levels increment by one level at a time.

-#### SDK fork updates
+### SDK fork updates

Line range hint 1064-1064: Ensure heading levels increment by one level at a time.

-#### IAVL fork updates
+### IAVL fork updates

MaxBundleSize: 5,
ReserveFee: sdk.NewCoin(AuctionUSDCDenom, sdk.NewInt(1000000)),
MinBidIncrement: sdk.NewCoin(AuctionUSDCDenom, sdk.NewInt(1000000)),
EscrowAccountAddress: auctiontypes.DefaultEscrowAccountAddress,
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

escrow account is the module account for the auction module

Copy link
Member

@mattverse mattverse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! Leaving some questions I had before giving approving this PR!

app/modules.go Outdated Show resolved Hide resolved
app/upgrades/v25/constants.go Show resolved Hide resolved
// we use a no-op ProcessProposal, this way, we accept all proposals in avoidance
// of liveness failures due to Prepare / Process inconsistency. In other words,
// this ProcessProposal always returns ACCEPT.
app.SetProcessProposal(baseapp.NoOpProcessProposal())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just to be sure, we're no-op'ing process proposal along with block sdk integration correct? If so, what's the reason this is ok? 👀

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do any other chains utilize a noOpProcessPropisal? Just curious from a testing perspective what the overhead of this will need to be if we are the first to do so.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah also from David:

https://github.com/skip-mev/osmosis/pull/2/files#r1548522449

"Note: this is set to no-op because the upstream priority nonce mempool that the block SDK utilizes under the hood does not natively support multi-fee denoms. As such the ordering may not be deterministic between proposal creation and verificaiton. This would require an integration with osmosis prices / slinky to turn on the ProcessProposalHandler."

MaxBlockSpace: defaultLaneBlockspacePercentage,
SignerExtractor: signerAdapter,
MaxTxs: maxTxPerDefaultLane,
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So total 3500 txs per block! Wondering if there were reasons these numbers of txs were chose or were arbitrary numbers

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are just arbitrary numbers that the SKIP team suggested

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its really confusing to me why there is a percentage and a maxTxs number. Our framing should be in terms of block space categories relative to one another rather than a number of transactions.

Copy link
Member

@ValarDragon ValarDragon Apr 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The maxTx is a mempool setting, no? These field names from the block SDK can use some improvement imo

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PaddyMc PaddyMc closed this Apr 22, 2024
@PaddyMc PaddyMc reopened this Apr 22, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Actionable comments outside the diff hunks (4)
CHANGELOG.md (4)

Line range hint 326-326: Correct the heading punctuation.

-## v6.4.0.
+## v6.4.0

Line range hint 589-589: Replace the bare URL with a markdown link.

-https://github.com/osmosis-labs/cosmos-sdk/pull/136
+[sdk-#136](https://github.com/osmosis-labs/cosmos-sdk/pull/136)

Line range hint 647-647: Replace the bare URL with a markdown link.

-https://github.com/osmosis-labs/iavl/pull/19
+[iavl-19](https://github.com/osmosis-labs/iavl/pull/19)

Line range hint 1228-1228: Ensure that the link is not empty.

-[*](https://github.com/osmosis-labs/osmosis/pull/1228)
+[*Description or title of the pull request*](https://github.com/osmosis-labs/osmosis/pull/1228)

CHANGELOG.md Outdated Show resolved Hide resolved
app/ante_no_seq.go Outdated Show resolved Hide resolved
// we use a no-op ProcessProposal, this way, we accept all proposals in avoidance
// of liveness failures due to Prepare / Process inconsistency. In other words,
// this ProcessProposal always returns ACCEPT.
app.SetProcessProposal(baseapp.NoOpProcessProposal())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do any other chains utilize a noOpProcessPropisal? Just curious from a testing perspective what the overhead of this will need to be if we are the first to do so.

app/lanes.go Outdated Show resolved Hide resolved
MaxBlockSpace: defaultLaneBlockspacePercentage,
SignerExtractor: signerAdapter,
MaxTxs: maxTxPerDefaultLane,
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its really confusing to me why there is a percentage and a maxTxs number. Our framing should be in terms of block space categories relative to one another rather than a number of transactions.

app/lanes.go Outdated Show resolved Hide resolved
app/modules.go Outdated Show resolved Hide resolved
app/modules.go Outdated Show resolved Hide resolved
MinBidIncrement: sdk.NewCoin(AuctionUSDCDenom, sdk.NewInt(1000000)),
EscrowAccountAddress: auctiontypes.DefaultEscrowAccountAddress,
FrontRunningProtection: true,
ProposerFee: osmomath.MustNewDecFromStr("0.05"),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do the funds actually go to the proposer? Does it get sent to the validator's stakers? To the validators personal operator address?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So its the operator address, gotcha

Comment on lines +3 to +5
go 1.21.4

toolchain go1.22.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we just bump to 1.22?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should do this bump in it's own PR if we decide to do it, and add a CHANGELOG specifically for this

Copy link
Member

@czarcas7ic czarcas7ic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to approve as the majority of my points are nits, we should get 2/3 total approvals though for this

Copy link
Member

@mattverse mattverse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the replies to my questions, all of my concerns seems to have been addressed / answered!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Out of diff range and nitpick comments (9)
CHANGELOG.md (9)

Line range hint 988-988: Correct the heading level for better document structure.

- ## Minor improvements & Bug Fixes
+ ### Minor improvements & Bug Fixes

Line range hint 1000-1000: Correct the heading level for better document structure.

- ## Minor improvements & Bug Fixes
+ ### Minor improvements & Bug Fixes

Line range hint 1009-1009: Correct the heading level for better document structure.

- ## Features
+ ### Features

Line range hint 1014-1014: Correct the heading level for better document structure.

- ## Minor improvements & Bug Fixes
+ ### Minor improvements & Bug Fixes

Line range hint 1066-1066: Correct the heading level for better document structure.

- ## Minor improvements & Bug Fixes
+ ### Minor improvements & Bug Fixes

Line range hint 327-327: Remove the trailing punctuation in the heading for consistency.

- ## [v6.1.0]
+ ## [v6.1.0]

Line range hint 590-590: Convert the bare URL to a markdown link for better readability.

- See: [SDK v0.43.0 Release Notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0) For more details
+ See: [SDK v0.43.0 Release Notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0) For more details

Line range hint 648-648: Convert the bare URL to a markdown link for better readability.

- Implements Osmosis [prop32](https://www.mintscan.io/osmosis/proposals/32) -- clawing back the final 20% of unclaimed osmo and ion airdrop.
+ Implements Osmosis [prop32](https://www.mintscan.io/osmosis/proposals/32) -- clawing back the final 20% of unclaimed osmo and ion airdrop.

Line range hint 1229-1229: Ensure that there are no empty links in the document.

- * [Patch](https://github.com/osmosis-labs/osmosis/commit/907001b08686ed980e0afa3d97a9c5e2f095b79f#diff-a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333) - Revert back to passing in the correct staking keeper into the IBC keeper constructor.
+ * [Patch](https://github.com/osmosis-labs/osmosis/commit/907001b08686ed980e0afa3d97a9c5e2f095b79f#diff-a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333) - Revert back to passing in the correct staking keeper into the IBC keeper constructor.

app/ante_no_seq.go Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Out of diff range and nitpick comments (1)
app/ante_no_seq.go (1)

33-38: The definition of BlockSDKAnteHandlerParams struct is clear and well-structured. However, consider adding comments to describe each field, especially mevLane and auctionKeeper, to improve code readability and maintainability.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Out of diff range and nitpick comments (9)
CHANGELOG.md (9)

Line range hint 1002-1002: Heading levels should only increment by one level at a time.


Line range hint 1014-1014: Heading levels should only increment by one level at a time.


Line range hint 1023-1023: Heading levels should only increment by one level at a time.


Line range hint 1028-1028: Heading levels should only increment by one level at a time.


Line range hint 1080-1080: Heading levels should only increment by one level at a time.


Line range hint 341-341: Avoid using trailing punctuation in headings.


Line range hint 604-604: Avoid using bare URLs. Provide descriptive text with hyperlinks.


Line range hint 662-662: Avoid using bare URLs. Provide descriptive text with hyperlinks.


Line range hint 1243-1243: Ensure that hyperlinks are not empty and provide a valid destination.

Copy link

@nivasan1 nivasan1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Out of diff range and nitpick comments (9)
CHANGELOG.md (9)

Line range hint 1006-1006: Adjust heading levels to increment by one level at a time.


Line range hint 1018-1018: Adjust heading levels to increment by one level at a time.


Line range hint 1027-1027: Adjust heading levels to increment by one level at a time.


Line range hint 1032-1032: Adjust heading levels to increment by one level at a time.


Line range hint 1084-1084: Adjust heading levels to increment by one level at a time.


Line range hint 345-345: Remove trailing punctuation from heading.


Line range hint 608-608: Replace bare URL with a descriptive link text.


Line range hint 666-666: Replace bare URL with a descriptive link text.


Line range hint 1247-1247: Ensure links are not empty and are correctly formatted.

@@ -44,6 +44,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### State Breaking

* [#7935](https://github.com/osmosis-labs/osmosis/pull/7935) Add block sdk and top of block auction from skip-mev.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adjust heading levels to increment by one level at a time.

Comment on lines +92 to +98
// ante.NewIncrementSequenceDecorator(accountKeeper),
// auction module antehandler
auctionante.NewAuctionDecorator(
blockSDKParams.auctionKeeper,
blockSDKParams.txConfig.TxEncoder(),
blockSDKParams.mevLane,
),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The auction module antehandler is duplicated in the authenticator verification flow. Consider if this duplication is necessary or if it can be streamlined to improve performance and maintainability.

@PaddyMc PaddyMc merged commit 473da26 into main Apr 26, 2024
1 check passed
@PaddyMc PaddyMc deleted the feat/top-of-block-auction branch April 26, 2024 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:app-wiring Changes to the app folder V:state/breaking State machine breaking PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[auction] Merge top of block auction PR => block-sdk
5 participants